﻿using StudentLibrary.Module;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.SQLite;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
using System.Windows.Forms;
using static System.Windows.Forms.VisualStyles.VisualStyleElement;

namespace StudentLibrary
{
    public partial class FormAddBooks : Form
    {
        public FormAddBooks()
        {
            InitializeComponent();
            comboBoxGenre.Items.AddRange(new string[] {
                "Художественная литература",
                "Научная литература",
                "Детектив",
                "Фантастика",
                "Поэзия",
                "Бизнес-литература",
                "Классика",
                "Психология",
                "Исторический роман",
                "Фэнтези",
                "Научно-популярная литература",
                "Триллер",
                "Роман",
                "Документальная литература",
                "Кулинария",
                "Саморазвитие",
                "Ужасы",
                "Публицистика",
                "Драма",
                "Научно-фантастический роман",
                "Путешествия",
                "Детская литература",
                "Комедия",
                "Наука и образование",
                "Психологический триллер",
                "Философия",
                "Биография",
                "Юмор",
                "Историческая проза",
                "Религия",
                "Техно-триллер",
                "Научная фантастика",
                "Экономика",
                "Фантастический роман"
            });
        }

        private void buttonAdd_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrWhiteSpace(comboBoxGenre.Text) ||
                string.IsNullOrWhiteSpace(textBoxTitle.Text) ||
                string.IsNullOrWhiteSpace(textBoxIN.Text) ||
                string.IsNullOrWhiteSpace(textBoxAuthors.Text) ||
                string.IsNullOrWhiteSpace(textBoxYear.Text) ||
                string.IsNullOrWhiteSpace(textBoxPublisher.Text) ||
                string.IsNullOrWhiteSpace(textBoxPlace.Text) ||
                string.IsNullOrWhiteSpace(textBoxTitle.Text))
            {
                MessageBox.Show("Заполнены не все поля!");
                return;
            }
            try
            {
                var newBook = new Book()
                {
                    Genre = comboBoxGenre.Text,
                    Title = textBoxTitle.Text,
                    InventoryNum = textBoxIN.Text,
                    Authors = textBoxAuthors.Text,
                    Year = int.Parse(textBoxYear.Text),
                    Publisher = textBoxPublisher.Text,
                    Place = textBoxPlace.Text,
                    NumberOfPage = int.Parse(textBoxNOP.Text)
                };
                if (newBook.Create())
                {
                    MessageBox.Show("Успешно", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    this.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"Ошибка: {ex.Message}");
            }
        }

        private void textBoxNOP_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }

        private void textBoxYear_KeyPress(object sender, KeyPressEventArgs e)
        {
            if (!char.IsControl(e.KeyChar) && !char.IsDigit(e.KeyChar))
            {
                e.Handled = true;
            }
        }
    }
}
